/*
 * Copyright (c) 2023 HiSilicon (Shanghai) Technologies CO., LIMITED.
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

#ifndef SLE_DEV_H_
#define SLE_DEV_H_
#include "soc_osal.h"

typedef int (*sle_dev_tx)(uint8_t *data, uint16_t len);
typedef void (*pm_bsle_enable_reply_cb)(osal_u8);
extern osal_void pm_sle_enable_reply_cb_host_register(pm_bsle_enable_reply_cb cb);
int sle_dev_init(void);
void sle_dev_exit(void);
int sle_dev_rx(uint8_t *data, uint16_t len);
void sle_dev_tx_register(sle_dev_tx tx);
extern osal_s32 pm_sle_enable(void);
extern osal_s32 pm_sle_disable(void);
#endif
